package com.culturalCenter.dataCenter.service.site;

import com.culturalCenter.dataCenter.customEntity.responseParam.site.BookingListResponse;
import com.culturalCenter.dataCenter.customEntity.site.CustomSiteBooking;
import com.culturalCenter.dataCenter.entity.site.SiteBooking;
import com.github.pagehelper.PageInfo;

import java.util.Date;
import java.util.List;

public interface SiteBookingService {

    /**
     * SiteBooking分页查询
     *
     * @param page
     * @param size
     *
     * @return
     */
    PageInfo<SiteBooking> findPage(int page, int size);

    /**
     * 删除SiteBooking
     *
     * @param id
     *
     * @return
     */
    Integer delete(String id);

    /**
     * 修改SiteBooking数据
     *
     * @param siteBooking
     *
     * @return
     */
    Integer update(SiteBooking siteBooking);

    /**
     * 新增SiteBooking
     *
     * @param siteBooking
     *
     * @return
     */
    Integer add(SiteBooking siteBooking);

    /**
     * 根据ID查询SiteBooking
     *
     * @param id
     *
     * @return
     */
    SiteBooking findById(String id);

    /**
     * 查询所有SiteBooking
     *
     * @param siteBooking
     *
     * @return
     */
    List<SiteBooking> findAll(SiteBooking siteBooking);

    /**
     * 根据bookingId查Booking详情
     *
     * @param bookingId
     *
     * @return
     */
    CustomSiteBooking getUsedInfo(String bookingId);

    /**
     * 场地预约排期_概览
     *
     * @param siteCode
     * @param date
     *
     * @return
     */
    BookingListResponse getBookingList(String siteCode, Date date);

}
